<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    function one() {
        setTimeout(() => {
            console.log(1111);
            g.next();
        }, 1000);

    }
    function two() {
        setTimeout(() => {
            console.log(2222);
            g.next();
        }, 2000);
    }
    function three() {
        setTimeout(() => {
            console.log(3333);
            g.next();
        }, 3000);
    }

    function* gen() {
        yield one();
        yield two();
        yield three();
    }
    let g = gen();
    g.next();

</script>

</html>